package cn.exrick.xboot.enterpriseUser.controllerImp

import cn.exrick.xboot.base.dto.*
import cn.exrick.xboot.base.service.IEnterpriseEmployeeService
import cn.exrick.xboot.base.vo.DepartmentVo
import cn.exrick.xboot.base.vo.EnterpriseEmployeeVo
import cn.exrick.xboot.base.vo.UserCommonVo
import cn.exrick.xboot.core.common.vo.PageVo
import cn.exrick.xboot.core.common.vo.Result
import cn.exrick.xboot.enterpriseUser.controller.IEnterpriseUserController
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.web.bind.annotation.RestController

@RestController
open class EnterpriseEmployeeController: IEnterpriseUserController.EnterpriseEmployee {


    @Autowired
    private val iEnterpriseEmployeeService: IEnterpriseEmployeeService? = null


    override fun updateEmployeeInfo(employeeInfoDto: EmployeeInfoDto): Result<Any?>? {

        return iEnterpriseEmployeeService!!.updateEmployeeInfo(employeeInfoDto)
    }


    override fun createEnterpriseEmployee(enterpriseEmployeeDto: EnterpriseEmployeeDto?): Result<Any?>? {

        return iEnterpriseEmployeeService!!.createEnterpriseEmployee(enterpriseEmployeeDto)
    }

    override fun updateEnterpriseEmployee(enterpriseEmployeeDto: EnterpriseEmployeeDto?): Result<Any?>? {

        return iEnterpriseEmployeeService!!.updateEnterpriseEmployee(enterpriseEmployeeDto)
    }

    override fun removeEnterpriseEmployee(ids: Array<out String>?): Result<Any?>? {

        return iEnterpriseEmployeeService!!.removeEnterpriseEmployee(ids)
    }

    override fun forbiddenEnterpriseEmployee(ids: Array<out String>?): Result<Any?>? {

        return iEnterpriseEmployeeService!!.forbiddenEnterpriseEmployee(ids)
    }

    override fun settingAffectedPerson(enterpriseSafePersonDto: EnterpriseSafePersonDto?): Result<Any?>? {

        return iEnterpriseEmployeeService!!.settingAffectedPerson(enterpriseSafePersonDto)
    }

    override fun getAffectedPersonList(id: String?): Result<MutableList<EnterpriseEmployeeVo>>? {

        return iEnterpriseEmployeeService!!.getAffectedPersonList(id)
    }

    override fun getAffectedPersonVoList(): Result<MutableList<UserCommonVo>> {

        return iEnterpriseEmployeeService!!.getAffectedPersonList()
    }

    override fun removeAffectedPersonList(ids: Array<out String>, id: String?): Result<Any?>? {

        return iEnterpriseEmployeeService!!.removeAffectedPersonList(ids, id)
    }

    override fun settingSafeMasterPerson(enterpriseSafePersonDto: EnterpriseSafePersonDto?): Result<Any?>? {

        return iEnterpriseEmployeeService!!.settingSafeMasterPerson(enterpriseSafePersonDto)
    }

    override fun getSafeMasterPerson(id: String?): Result<MutableList<EnterpriseEmployeeVo>>? {

        return iEnterpriseEmployeeService!!.getSafeMasterPerson(id)
    }

    override fun removeSafeMasterPerson(ids: Array<out String>, id: String?): Result<Any?>? {

        return iEnterpriseEmployeeService!!.removeSafeMasterPerson(ids, id)
    }

    override fun getEnterpriseEmployeeList(enterpriseId: String): Result<MutableList<UserCommonVo>> {

        return iEnterpriseEmployeeService!!.getEnterpriseEmployeeList(enterpriseId)
    }

    override fun getEnterpriseEmployeeList(enterpriseEmployeeSearchDto: EnterpriseEmployeeSearchDto?, pageVo: PageVo): Result<MutableMap<String, Any?>?>? {

        return iEnterpriseEmployeeService!!.getEnterpriseEmployeeList(enterpriseEmployeeSearchDto, pageVo)
    }

    override fun settingEmployeeDimission(ids: Array<out String>?): Result<Any?>? {

        return iEnterpriseEmployeeService!!.settingEmployeeDimission(ids)
    }

    override fun publishOrUpdateEnterpriseTrainingNeed(enterpriseTrainingNeedDto: EnterpriseTrainingNeedDto): Result<Any?>? {

        return iEnterpriseEmployeeService!!.publishOrUpdateEnterpriseTrainingNeed(enterpriseTrainingNeedDto)
    }

    override fun getMyPublishEnterpriseTrainingNeedList(pageVo: PageVo): Result<MutableMap<String, Any?>?> {

        return iEnterpriseEmployeeService!!.getMyPublishEnterpriseTrainingNeedList(pageVo)
    }

    override fun removePublishEnterpriseTrainingNeed(ids: Array<out String>): Result<Any?>? {

        return iEnterpriseEmployeeService!!.removePublishEnterpriseTrainingNeed(ids)
    }

    override fun getMeAffectedPersonList(id: String?): Result<MutableList<EnterpriseEmployeeVo>>? {

        return iEnterpriseEmployeeService!!.getMeAffectedPersonList(id)
    }

    override fun getDepartmentTree(parentId: String?, enterpriseId: String): Result<MutableList<DepartmentVo>>? {

        return iEnterpriseEmployeeService!!.getDepartmentTree(parentId, enterpriseId)
    }

    override fun getEmployeeListByDepartment(departmentId: String?): Result<MutableList<UserCommonVo>>? {

        return iEnterpriseEmployeeService!!.getEmployeeListByDepartment(departmentId)
    }




}
